package com.mall.common.validator;

import com.mall.common.validator.group.FieldStatus;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import java.util.*;
import java.util.stream.Collector;
import java.util.stream.Collectors;

/**
 * @author: 谢君臣
 * @Date: 2022/7/21-20:19
 * @version: 1.0
 * @function:
 */
public class FieldStatusValidator implements ConstraintValidator<FieldStatus,Integer> {

    private HashSet<Integer> enableValues = null;

    // 初始化方法
    @Override
    public void initialize(FieldStatus constraintAnnotation) {
        int[] values = constraintAnnotation.values();
        enableValues = new HashSet<>();
        for (int value : values) {
            enableValues.add(value);
        }
        //ConstraintValidator.super.initialize(constraintAnnotation);
    }

    /**
     *
     * @param value  待校验的值
     * @param context
     * @return
     */

    @Override
    public boolean isValid(Integer value, ConstraintValidatorContext context) {
        return enableValues.contains(value);
    }
}
